-
Notifications
You must be signed in to change notification settings - Fork 2.6k
feat: Add file context tracking system #2440
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
This commit adds a comprehensive file context tracking system that monitors file operations (reads, edits) by both Roo and users. The system helps prevent stale context issues and improves checkpoint management. Key features: - Track files accessed via tools, mentions, or edits - Monitor file changes outside of Roo using file watchers - Store file operation metadata with timestamps - Trigger checkpoints automatically when files are modified - Prevent false positives by distinguishing between Roo and user edits The implementation includes: - New FileContextTracker class to manage file operations - Type definitions for file metadata tracking - Integration with all file-related tools - File mention tracking in the mentions system - Improved checkpoint triggering based on file modifications
|
Co-authored-by: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com>
Co-authored-by: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com>
cdcb213 to
757f22a
Compare
* manual port * successfully open remote chrome * clean up auto-detect vs specified path * move the browser settings into regular settings * changeset & prettier * correct chrome path description, remove some old comments, and rename headless mode to local mode * rename incorrect headless mode to 'local mode' * Sub-PR of hugelung/remote_browser: clicking browser widget's gear opens basic settings & scrolls down with a highlight (RooCodeInc#2439) * first version of scrolling to browser settings * really nice generic scroll to settings & highlight * formatting & changeset --------- Co-authored-by: Andrei Edell <[email protected]> * added feature to detect and display chrome path as placeholder in browser settings (RooCodeInc#2442) Co-authored-by: Andrei Edell <[email protected]> * Features to relaunch browser in debug, test connection (RooCodeInc#2440) * Features to Relaunch browser in debug, test connection * Update src/services/browser/BrowserSession.ts Co-authored-by: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com> * Update webview-ui/src/components/browser/BrowserSettingsMenu.tsx Co-authored-by: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com> --------- Co-authored-by: Andrei Edell <[email protected]> Co-authored-by: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com> * fix a merge conflict resolution error * fix linter issue * clarify settings descriptions * Remove sketchy network scanning code * respect viewport size in remote host * headless browser fix (RooCodeInc#2451) * Disable notifications in browser * start of info panel popover (RooCodeInc#2453) * start of info panel popover * remove duplicated message & prettier fix * Revert "remove duplicated message & prettier fix" This reverts commit dcefef35aacfc9d9a8461d37805c2ffb64b558c4. * info styling, close browser tab, hide headless info --------- Co-authored-by: Andrei Edell <[email protected]> * remove headless checkbox * settings layout rework & more auto * new chrome flags experiments * make headless choice automatic & phrasing & visual cleanups * auto-recheck chrome connection every second - while we are looking at settings - while we have remote debugging enabled * continuous remote connection testing & ux cleanup * remove advanced settings from package.json * format fixes * dont display connection type after dc to smooth over ui of reloading tasks * seems we need package-lock now for ci * Revert "remove advanced settings from package.json" This reverts commit 5defe4a8cae7631bcf9c1fb9efa874e3238c5034. * relaunch correctly with default session * prevent about:blank opening on relaunch * Resolve merge conflicts with refactor * add browser tool telemetry * try launching chrome using node spawn_child to detach it * browser settings update * do async dispose for browsersession * remove duplicated message implementation * Remove remote browser settings from configuration, and enhance browser settings UI with an advanced settings button. * Remove updateBrowserSettings * Fix text with chrome path * fix arafat's pr note about multiple timers * fix saoud's note about require use * Remote browser logging (RooCodeInc#2682) * logging * reduce logging levels --------- Co-authored-by: Andrei Edell <[email protected]> * Make browser status popup adapt to viewport width * remove requires for exec/spawn * remove unneeded comments * error telemetry * remove headless mode / settings everywhere * migrate values list to simple endpoint string * fix log spam and clean up a comment * Fixes; copy * Remove local state since we're already using extension state * Remove unnecessary remoteBrowserHost and remoteBrowserEnabled states * Fix status wrapping --------- Co-authored-by: Andrei Edell <[email protected]> Co-authored-by: canvrno <[email protected]> Co-authored-by: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com> Co-authored-by: canvrno <[email protected]> Co-authored-by: Saoud Rizwan <[email protected]> Co-authored-by: frostbournesb <[email protected]> Co-authored-by: Dennis Bartlett <[email protected]>

This commit adds a comprehensive file context tracking system that monitors file operations (reads, edits) by both Roo and users. The system helps prevent stale context issues and improves checkpoint management.
Key features:
The implementation includes:
Context
Thanks @canvrno inspired by cline/cline#2648,
Implementation
Screenshots
How to Test
Get in Touch
Important
Introduces
FileContextTrackerto monitor file operations, integrate with tools, and manage context updates, preventing stale context issues.FileContextTrackerto track file operations (reads, edits) by Roo and users.FileContextTrackerwith tools likeapplyDiffTool,insertContentTool,readFileTool, and others to track file operations.parseMentionsto track file mentions.FileMetadataEntry,RecordSource, andTaskMetadatatypes inFileContextTrackerTypes.ts.taskMetadatatoGlobalFileNames.This description was created by
for bc770b6. It will automatically update as commits are pushed.